import request from '@/utils/request'

// 获取当前登录用户的个人信息
export function getCurrentUserProfile() {
  return request({
    url: '/xfs/user/profile/current',
    method: 'get'
  })
}

// 获取指定用户的个人信息
export function getUserProfile(userId) {
  return request({
    url: `/xfs/user/profile/${userId}`,
    method: 'get'
  })
}

// 更新用户个人信息
export function updateUserProfile(data) {
  return request({
    url: '/xfs/user/profile',
    method: 'put',
    data: data
  })
}

// 上传用户头像
export function uploadAvatar(file) {
  const formData = new FormData()
  formData.append('avatarfile', file)
  
  return request({
    url: '/xfs/user/profile/avatar',
    method: 'post',
    data: formData,
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  })
}

// 获取用户统计数据
export function getUserStats(userId) {
  // 使用模拟数据
  // return Promise.resolve({
  //   data: {
  //     followCount: 125,
  //     fansCount: 348,
  //     likeCount: 2156,
  //     collectCount: 89,
  //     isFollowed: false
  //   }
  // });
  // 当后端API准备好后，取消注释下面的代码
  return request({
    url: '/xfs/user/getUserStats/' + userId,
    method: 'get'
  })
}

// 获取用户笔记列表
export function getUserNotes(userId) {
  // 使用模拟数据
  return Promise.resolve({
    data: [
      {
        id: 1,
        title: "这是我的第一篇笔记",
        coverImg: "https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg",
        viewCount: 120,
        likeCount: 45
      },
      {
        id: 2,
        title: "分享我的购物心得",
        coverImg: "https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg",
        viewCount: 89,
        likeCount: 32
      }
    ]
  });

  // 当后端API准备好后，取消注释下面的代码
  /*
  return request({
    url: '/xfs/user/notes/' + userId,
    method: 'get'
  })
  */
}

// 获取用户收藏列表
export function getUserCollected(userId) {
  return getUserNotes(userId);
}

// 获取用户点赞列表
export function getUserLiked(userId) {
  return getUserNotes(userId);
}

// 关注用户
export function followUser(userId) {
  return Promise.resolve({});
}

// 取消关注用户
export function unfollowUser(userId) {
  return Promise.resolve({});
} 